import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class test3 {
    // 力扣  217.存在重复元素I
    public static void main(String[] args) {
        int[] arr = {1,2,3,4};
        System.out.println(containsDuplicate(arr));
    }
    public static boolean containsDuplicate(int[] nums) {
        Map<Integer,Integer> hash = new HashMap<>();
        for(int i = 0;i<nums.length;i++){
            int value = hash.getOrDefault(nums[i],0);
            if(++value!=1){
                return true;
            }
            hash.put(nums[i],value);

        }
        return false;
    }
    //明显这个要好一点
    public static boolean containsDuplicate2(int[] nums) {
        Set<Integer> hash = new HashSet<>();
        for(int n:nums){
            if(hash.contains(n)) return true;
            hash.add(n);
        }
        return false;
    }
}
